package com.smart.community.user.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 头像上传响应DTO
 * 
 * @author Wu.Liang
 * @date 2025-01-30
 * @version 1.0.0
 */
@Data
@Schema(description = "头像上传响应信息")
public class AvatarUploadResponseDTO {

    @Schema(description = "文件ID")
    private Long id;

    @Schema(description = "文件URL", example = "http://example.com/avatar/user123.jpg")
    private String fileUrl;

    @Schema(description = "文件名", example = "avatar.jpg")
    private String fileName;

    @Schema(description = "文件大小(字节)")
    private Long fileSize;

    @Schema(description = "文件类型", example = "image/jpeg")
    private String fileType;

    @Schema(description = "文件扩展名", example = "jpg")
    private String fileExtension;

    @Schema(description = "上传类型", example = "USER_AVATAR")
    private String uploadType;

    @Schema(description = "上传来源", example = "APP")
    private String uploadSource;

    @Schema(description = "文件MD5值")
    private String fileMd5;

    @Schema(description = "原始文件名", example = "user_avatar.jpg")
    private String originalFileName;

    @Schema(description = "文件存储路径")
    private String filePath;

    @Schema(description = "上传时间")
    private LocalDateTime uploadTime;

    @Schema(description = "上传用户ID")
    private Long uploadUserId;
}
